package 孩子们的游戏;

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * @param n int整型
     * @param m int整型
     * @return int整型
     */
    public int LastRemaining_Solution(int n, int m) {
        Queue<Integer> q = new LinkedList<>();
        for (int i = 0; i < n; i++) {
            q.offer(i);
        }
        int cnt = -1;
        while (q.size() > 1) {
            int x = q.poll();
            cnt++;
            if (cnt == m - 1) {
                cnt = -1;
            } else {
                q.offer(x);
            }
        }
        return q.poll();
    }
}